package org.hxyjs.dto;

import java.util.List;

//数据传输对象
//T 一个泛型的占位符 叫什么都可以只是取 type的开头
//当我有一种通用的结构，但定义的时候 不好设定具体的类型 就可以在使用了使用才说具体的类型
public class DTO<T> { // 这个对象就包含请求服务器执行功能（包含执行数据库） 能得到全部可能
	Integer code;// 状态码
	String msg;// 服务器消息 增删改 只会返回成功或者失败
	T t;// 服务器返回一个规范的对象 根据主键查询返回的一定是一个标准对象（没有查到就是空） 例如根据学号查学生 根据商品号查商品
	List<T> tList;// 服务器返回一堆规范的对象 根据班级号查询学生（也可能查出班级人数为0，就是list的size为0）
					// 根据商品种类查询商品 根据订单号查询商品
	Object obj;// 服務器返回非标准对象 （利用sql进行统计计算） 例如 查询各班有多少人

	String url;

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public Integer getCode() {
		return code;
	}

	public void setCode(Integer code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public T getT() {
		return t;
	}

	public void setT(T t) {
		this.t = t;
	}

	public List<T> gettList() {
		return tList;
	}

	public void settList(List<T> tList) {
		this.tList = tList;
	}

	public Object getObj() {
		return obj;
	}

	public void setObj(Object obj) {
		this.obj = obj;
	}

	public DTO() { }

	public DTO(Integer code, String msg) {
		super();
		this.code = code;
		this.msg = msg;
	}

	public DTO(Integer code, String msg, T t) {
		super();
		this.code = code;
		this.msg = msg;
		this.t = t;
	}

	public DTO(Integer code, String msg, List<T> tList) {
		super();
		this.code = code;
		this.msg = msg;
		this.tList = tList;
	}

	public DTO(Integer code, String msg, List<T> tList, Object obj) {
		super();
		this.code = code;
		this.msg = msg;
		this.tList = tList;
		this.obj = obj;
	}

}
